package com.ktgj.flight.service;

import java.util.List;

import com.ktgj.customer.api.domain.Employee;
import com.ktgj.flight.domain.FlightOrderException;
import com.ktgj.flight.domain.FlightOrderExceptionDetails;
import com.ktgj.flight.domain.vo.FlightOrderResponse;
import org.apache.ibatis.annotations.Param;

/**
 * 机票订单异常Service接口
 * 
 * @author ruoyi
 * @date 2022-06-21
 */
public interface IFlightOrderExceptionService 
{
    /**
     * 查询机票订单异常
     * 
     * @param exceptionId 机票订单异常ID
     * @return 机票订单异常
     */
    public FlightOrderException selectFlightOrderExceptionById(Long exceptionId);

    /**
     * 查询机票订单异常列表
     * 
     * @param flightOrderException 机票订单异常
     * @return 机票订单异常集合
     */
    public List<FlightOrderException> selectFlightOrderExceptionList(FlightOrderException flightOrderException);

    /**
     * 新增机票订单异常
     * 
     * @param flightOrderException 机票订单异常
     * @return 结果
     */
    public int insertFlightOrderException(FlightOrderException flightOrderException);

    /**
     * 修改机票订单异常
     * 
     * @param flightOrderException 机票订单异常
     * @return 结果
     */
    public int updateFlightOrderException(FlightOrderException flightOrderException);

    /**
     * 修改机票订单异常
     *
     * @param flightOrderException 机票订单异常
     * @return 结果
     */
    public int updateFlightOrderExceptionByOrderId(FlightOrderException flightOrderException);

    /**
     * 批量删除机票订单异常
     * 
     * @param exceptionIds 需要删除的机票订单异常ID
     * @return 结果
     */
    public int deleteFlightOrderExceptionByIds(Long[] exceptionIds);

    /**
     * 删除机票订单异常信息
     * 
     * @param exceptionId 机票订单异常ID
     * @return 结果
     */
    public int deleteFlightOrderExceptionById(Long exceptionId);

    /**
     * 机票订单异常列表
     * @param ticketChannel
     * @param ticketWay
     * @param orderType
     * @param orderId
     * @return
     */
    public List<FlightOrderException> queryFlightOrderExceptionList(String ticketChannel, String ticketWay, String orderType, String orderId);

    /**
     * 出票处理-个人
     * @param orderId
     * @return
     */
    public FlightOrderExceptionDetails orderExceptionDetails(String orderId);

    /**
     * 操作PNR
     * @param orderId
     * @return
     */
    public int operationPNR(Employee employee, String orderId);

    boolean assignEmployeeTask();
}
